package Arrays;

/**
 * 作者:hfj
 * 功能:88.合并两个有序的数组
 * 日期: 2025/10/23 10:24
 */
public class Merge {
    public static void main(String[] args) {
        int[] nums1 = {2,0};
        int[] nums2 = {1};
        int m = 1,n = 1;
        merge(nums1,m,nums2,n);
    }

    public static void merge(int[] nums1, int m, int[] nums2, int n) {

        if (n == 0){
            return;
        }

        int[] temps = new int[nums1.length];
        int i = 0,j = 0,k=0,len = m-1;
        //合并有序数组
        while (m > 0 && n > 0){
            if (nums1[i] < nums2[j]){
                temps[k++] = nums1[i++];
                m--;
            }else {
                temps[k++] = nums2[j++];
                n--;
            }
        }

        //处理剩下的数组
        while (n > 0){
            temps[k++] = nums2[j++];
            n--;
        }
        while (m > 0){
            temps[k++] = nums1[i++];
            m--;
        }
        for (int l = 0; l < temps.length; l++) {
            nums1[l] = temps[l];
        }
    }
}
